# built in python 3.5.2
# 作者：陈常鸿
# 01 创建矩阵
import numpy as np
# python中创建矩阵正常方法有两种：matrix类和array类
# matrix方法中，矩阵乘法是矩阵的乘法，array方法中，默认的方法是Hadamard乘法
# matrix方法中，矩阵不能自身相乘
A=np.matrix([[1,2],[3,4],[5,6]])
print(A)

B=np.array(range(1,7)).reshape(3,2)
print(B)

print(B*B)                        # B*B可以，但A*A就会报错

# 特殊矩阵的创建
zero=np.zeros((3,2))
print(zero)
eye=np.identity(3)                # 对角线为1，其他为0 的矩阵
print(eye)
diag=np.diag([1,2,3])
print(diag)
empty=np.empty([3,3])
print(empty)
vstack(([1,2,3],[4,5,6]))         # vstack是传入一个tupe结构
print(vstack)
hstack(([1,2,3],[4,5,6]))          # 结果和两个list相加一样，就是把第二个列表接在第一个列表后面
print(hstack)